

ALTER PROCEDURE [dbo].[USP_CONSULTA_TAREO]
@Apellidos nvarchar(75),
@Nombres nvarchar(25),
@idProyecto int,
@idLote int,
@idLugar int,
@FechaDesde Datetime,
@FechaHasta DateTime
AS
BEGIN
	-- SET NOCOUNT ON added to prevent extra result sets from
	-- interfering with SELECT statements.
	SET NOCOUNT ON;
 
       Select Codigo,
              ApellidosYNombres,
              Proyecto,
              Lote,
              Lugar,
              sum(case when TipoTrabajoTareo = 1 then 1 else 0 end) as DiasTrabajados,
              sum(case when TipoTrabajoTareo = 2 then 1 else 0 end) as DiasDescansados,
              sum(case when TipoTrabajoTareo = 3 then 1 else 0 end) as DiasTransito,
              sum(case when TipoTrabajoTareo = 4 then 1 else 0 end) as DiasVacaciones,
              sum(case when TipoTrabajoTareo in(1,2,3,4) then 1 else 0 end) as DiasTotal
       from (Select trabajador.Codigo as Codigo, 
       trabajador.Apellidos + ', ' + trabajador.Nombres as ApellidosYNombres,
       proyecto.codigo + ' - ' + proyecto.descripcion as Proyecto,
       lote.codigo + ' - ' + lote.descripcion as Lote,
       lugar.codigo + ' - ' + lugar.descripcion as Lugar,
       TipoTrabajoTareo
       from tareo
         inner join trabajador on tareo.Trabajador_id = trabajador.Id
         inner join proyecto on tareo.Proyecto_id = proyecto.Id
         inner join lote on tareo.Lote_id = lote.Id
         left outer join lugar on tareo.Lugar_id = lugar.Id
         where 
            (trabajador.Apellidos like  @Apellidos + '%' or @Apellidos is null)   
       AND  (trabajador.Nombres like  @Nombres + '%' or @Nombres is null) 
       AND  (proyecto.Id = @idProyecto or @idProyecto = 0) 
       AND  (lote.Id = @idLote or @idLote = 0)         
       AND  (lugar.Id = @idLugar or @idLugar = 0)         
       AND  (tareo.Fecha between @FechaDesde and @FechaHasta)    
       ) as T
       group by Codigo,ApellidosYNombres,Proyecto,Lote,Lugar
       order by ApellidosYNombres 
        
       SET NOCOUNT OFF;
END


ALTER TABLE [dbo].[Tareo] DROP CONSTRAINT [UQ__Tareo__1B9E2F1F2CF2ADDF]
GO

alter table Ingreso 
alter column Proveedor_id int null
GO